/**
 * Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
 */
package com.jeeplus.modules.account.entity;

import com.jeeplus.modules.member.entity.Member;
import javax.validation.constraints.NotNull;

import com.jeeplus.core.persistence.DataEntity;
import com.jeeplus.common.utils.excel.annotation.ExcelField;

/**
 * 用户钱包Entity
 * @author freedom
 * @version 2020-09-26
 */
public class Account extends DataEntity<Account> {
	
	private static final long serialVersionUID = 1L;
	private Member member;		// 用户
	private Double buy;		// 投入资金
	private Double tixian;		// 提现金额
	private Double yue;		// 可用余额
	private Double dynamicProfit;		// 总动态收益
	private Double todayDynamic;		// 今日动态收益
	private Double teamProfit;		// 团队收益
	private Double todayTeam;		// 今日团队收益
	private Double totalProfit;		// 总收益
	private Double todayProfit;		// 今日总收益
	private Double team;		// 团队业绩
	private Integer num;		// 团队人数
	private Double valid;
	private Double integral;	//积分
	private Double frozenMoney; //冻结金额
	private Double releasePercentage;  //释放百分比
	private Double teamService;   //团队手续费
	private Double exchangeCoupon;    //提货券
	private Member manager;      //团队长

	public Double getTeamService() {
		return teamService;
	}

	public void setTeamService(Double teamService) {
		this.teamService = teamService;
	}

	public Account() {
		super();
	}

	public Account(String id){
		super(id);
	}

	@NotNull(message="用户不能为空")
	@ExcelField(title="用户", fieldType=Member.class, value="member.loginName", align=2, sort=1)
	public Member getMember() {
		return member;
	}

	public void setMember(Member member) {
		this.member = member;
	}
	
	@NotNull(message="投入资金不能为空")
//	@ExcelField(title="投入资金", align=2, sort=2)
	public Double getBuy() {
		return buy;
	}

	public void setBuy(Double buy) {
		this.buy = buy;
	}
	
	@NotNull(message="提现金额不能为空")
//	@ExcelField(title="提现金额", align=2, sort=3)
	public Double getTixian() {
		return tixian;
	}

	public void setTixian(Double tixian) {
		this.tixian = tixian;
	}

	@NotNull(message="可用余额不能为空")
	@ExcelField(title="可用余额", align=2, sort=4)
	public Double getYue() {
		return yue;
	}

	public synchronized void setYue(Double yue) {
		this.yue = yue;
	}
	
	@NotNull(message="总动态收益不能为空")
	@ExcelField(title="总动态收益", align=2, sort=5)
	public Double getDynamicProfit() {
		return dynamicProfit;
	}

	public void setDynamicProfit(Double dynamicProfit) {
		this.dynamicProfit = dynamicProfit;
	}
	
	@NotNull(message="今日动态收益不能为空")
	@ExcelField(title="今日动态收益", align=2, sort=6)
	public Double getTodayDynamic() {
		return todayDynamic;
	}

	public void setTodayDynamic(Double todayDynamic) {
		this.todayDynamic = todayDynamic;
	}
	
	@NotNull(message="团队收益不能为空")
	@ExcelField(title="团队收益", align=2, sort=7)
	public Double getTeamProfit() {
		return teamProfit;
	}

	public void setTeamProfit(Double teamProfit) {
		this.teamProfit = teamProfit;
	}
	
	@NotNull(message="今日团队收益不能为空")
	@ExcelField(title="今日团队收益", align=2, sort=8)
	public Double getTodayTeam() {
		return todayTeam;
	}

	public void setTodayTeam(Double todayTeam) {
		this.todayTeam = todayTeam;
	}
	
	@NotNull(message="总收益不能为空")
	@ExcelField(title="总收益", align=2, sort=9)
	public Double getTotalProfit() {
		return totalProfit;
	}

	public void setTotalProfit(Double totalProfit) {
		this.totalProfit = totalProfit;
	}
	
	@NotNull(message="今日总收益不能为空")
	@ExcelField(title="今日总收益", align=2, sort=10)
	public Double getTodayProfit() {
		return todayProfit;
	}

	public void setTodayProfit(Double todayProfit) {
		this.todayProfit = todayProfit;
	}
	
	@NotNull(message="团队业绩不能为空")
	@ExcelField(title="团队业绩", align=2, sort=11)
	public Double getTeam() {
		return team;
	}

	public void setTeam(Double team) {
		this.team = team;
	}
	
	@NotNull(message="团队人数不能为空")
	@ExcelField(title="团队人数", align=2, sort=12)
	public Integer getNum() {
		return num;
	}

	public void setNum(Integer num) {
		this.num = num;
	}
	
	@NotNull(message="valid不能为空")
//	@ExcelField(title="valid", align=2, sort=13)
	public Double getValid() {
		return valid;
	}

	public void setValid(Double valid) {
		this.valid = valid;
	}

	@ExcelField(title="积分", align=2, sort=14)
	public Double getIntegral() {
		return integral;
	}

	public synchronized void setIntegral(Double integral) {
		this.integral = integral;
	}

	public Double getFrozenMoney() {
		return frozenMoney;
	}

	public void setFrozenMoney(Double frozenMoney) {
		this.frozenMoney = frozenMoney;
	}

	public Double getReleasePercentage() {
		return releasePercentage;
	}

	public void setReleasePercentage(Double releasePercentage) {
		this.releasePercentage = releasePercentage;
	}

	@ExcelField(title="提货券", align=2, sort=15)
	public Double getExchangeCoupon() {
		return exchangeCoupon;
	}

	public synchronized void setExchangeCoupon(Double exchangeCoupon) {
		this.exchangeCoupon = exchangeCoupon;
	}

	public Member getManager() {
		return manager;
	}

	public void setManager(Member manager) {
		this.manager = manager;
	}
}